Skip to content

merge next-elimBE-new-mri-filter with next-elimBE-new-mri - #4

Merged
maggul merged 261 commits into
next-elimBE-new-mrifrom
next-elimBE-new-api-mri-filter
Sep 13, 2026
Merged

maggul merged 261 commits into
next-elimBE-new-mrifrom
next-elimBE-new-api-mri-filter

Conversation

@maggul

@maggul maggul commented Sep 13, 2026

Copy link
Copy Markdown
Owner

No description provided.

bendudson and others added 30 commits July 9, 2026 16:21
`CoordinatesAccessor` and non-uniform geometry quantities
depend on cell spacing. Reset cache so they are updated when needed.

Bxy is not calculated on demand, so is calculated in
`set*MetricTensor` methods.
z index should be in range.

Indexed accessors return BoutReal, not reference to field.
Convert input to Field3DParallel before dividing by Bxy,
to ensure that yup/ydown fields are retained.
Should now be consistent with `next` branch. Avoids
calculation of parallel slices for derived metric quantities.
Makes lazy getters thread-safe by adding named critical sections.
Named so that nested sections (code in critical section calling
a function that also contains a critical section) doesn't lead to
deadlock.
This was an experiment in expression templates, that has now
been replaced by the BinaryExpr machinery.
Views handle yup/ydown slices, evaluating lazy expressions in parallel
slices if assigned to a Field3DParallel.
To make it reusable
Implement some clang-tidy suggestions, use FakeMeshFixtureFCI for
tests with FCI parallel transform.
If the parallel transform is not FCI then parallel slices are not
calculated on assignment to Field3DParallel.
Makes the `floor` function lazy, so it can be inlined into template
expressions.
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5 to 7.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@v5...v7)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Arithmetic operators now use the lazy `BinaryExpr` expressions.
Remove unnecessary data members that dublicate the Field3D::View base.
NVCC doesn't accept `Array<int, ArrayData<int>>` as `C<scalar>`
so treats ConvertContainer<Array...> as partially specialized.

This explicitly writes convertors for Array, Matrix and Tensor
containers.
fmt uses `begin` rather than `std::begin` so that NVCC
fails to find an overload for `char[]` literals.
Calls `Array::size()` that accesses a shared pointer to `ArrayData`.
Doesn't need to be a device function since called outside kernel.
- Remove default arguments for fv_ops specializations
- Use base class functions rather than partial overload
bendudson and others added 27 commits September 7, 2026 09:57
MeshFactory::create read mesh from data directory
Provides an error message if arkode_mri solver is requested but
BOUT++ was built with a version of SUNDIALS lower than 7.2.0
PhysicsModel now has fast and slow preconditioners, and
these can be called by the Arkode MRI solver.
Previous use of ARKStepGetNumRhsEvals is deprecated from SUNDIALS
7.2.0, replaced by ARKodeGetNumRhsEvals

https://github.com/LLNL/sundials/blob/main/CHANGELOG.md#deprecation-notices
Rather than calling `ARKodeGetCurrentStep` every rhs() call, only
call when the `getCurrentTimestep()` method is called.
When run_rhs is called (e.g. by CVODE), all rhs functions are
called (rhs_se, rhs_si, rhs_fe, rhs_fi), so all counters need to be
incremented.
Fix many includes
@maggul
maggul marked this pull request as ready for review September 13, 2026 21:41
@maggul
maggul merged commit 4b71f93 into next-elimBE-new-mri Sep 13, 2026
1 of 22 checks passed
@maggul
maggul deleted the next-elimBE-new-api-mri-filter branch September 13, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants